687 research outputs found

    Terrier: an embedded operating system using advanced types for safety

    Get PDF
    Operating systems software is fundamental to modern computer systems: all other applications are dependent upon the correct and timely provision of basic system services. At the same time, advances in programming languages and type theory have lead to the creation of functional programming languages with type systems that are designed to combine theorem proving with practical systems programming. The Terrier operating system project focuses on low-level systems programming in the context of a multi-core, real-time, embedded system, while taking advantage of a dependently typed programming language named ATS to improve reliability. Terrier is a new point in the design space for an operating system, one that leans heavily on an associated programming language, ATS, to provide safety that has traditionally been in the scope of hardware protection and kernel privilege. Terrier tries to have far fewer abstractions between program and hardware. The purpose of Terrier is to put programs as much in contact with the real hardware, real memory, and real timing constraints as possible, while still retaining the ability to multiplex programs and provide for a reasonable level of safety through static analysis

    Quest-V: A Virtualized Multikernel for High-Confidence Systems

    Full text link
    This paper outlines the design of `Quest-V', which is implemented as a collection of separate kernels operating together as a distributed system on a chip. Quest-V uses virtualization techniques to isolate kernels and prevent local faults from affecting remote kernels. This leads to a high-confidence multikernel approach, where failures of system subcomponents do not render the entire system inoperable. A virtual machine monitor for each kernel keeps track of shadow page table mappings that control immutable memory access capabilities. This ensures a level of security and fault tolerance in situations where a service in one kernel fails, or is corrupted by a malicious attack. Communication is supported between kernels using shared memory regions for message passing. Similarly, device driver data structures are shareable between kernels to avoid the need for complex I/O virtualization, or communication with a dedicated kernel responsible for I/O. In Quest-V, device interrupts are delivered directly to a kernel, rather than via a monitor that determines the destination. Apart from bootstrapping each kernel, handling faults and managing shadow page tables, the monitors are not needed. This differs from conventional virtual machine systems in which a central monitor, or hypervisor, is responsible for scheduling and management of host resources amongst a set of guest kernels. In this paper we show how Quest-V can implement novel fault isolation and recovery techniques that are not possible with conventional systems. We also show how the costs of using virtualization for isolation of system services does not add undue overheads to the overall system performance

    Operating system development with ATS: work in progress

    Full text link

    Mutation pattern analysis reveals polygenic mini-drivers associated with relapse after surgery in lung adenocarcinoma

    Get PDF
    The genomic lesions found in malignant tumours exhibit a striking degree of heterogeneity. Many tumours lack a known driver mutation, and their genetic basis is unclear. By mapping the somatic mutations identified in primary lung adenocarcinomas onto an independent coexpression network derived from normal tissue, we identify a critical gene network enriched for metastasis-associated genes. While individual genes within this module were rarely mutated, a significant accumulation of mutations within this geneset was predictive of relapse in lung cancer patients that have undergone surgery. Since it is the density of mutations within this module that is informative, rather than the status of any individual gene, these data are in keeping with a ‘mini-driver’ model of tumorigenesis in which multiple mutations, each with a weak effect, combine to form a polygenic driver with sufficient power to significantly alter cell behaviour and ultimately patient outcome. These polygenic mini-drivers therefore provide a means by which heterogeneous mutation patterns can generate the consistent hallmark changes in phenotype observed across tumours

    Verifying Spatial Properties of Array Computations

    Get PDF
    Arrays computations are at the core of numerical modelling and computational science applications. However, low-level manipulation of array indices is a source of program error. Many practitioners are aware of the need to ensure program correctness, yet very few of the techniques from the programming research community are applied by scientists. We aim to change that by providing targetted lightweight verification techniques for scientific code. We focus on the all too common mistake of array offset errors as a generalisation of off-by-one errors. Firstly, we report on a code analysis study on eleven real-world computational science code base, identifying common idioms of array usage and their spatial properties. This provides much needed data on array programming idioms common in scientific code. From this data, we designed a lightweight declarative specification language capturing the majority of array access patterns via a small set of combinators. We detail a semantic model, and the design and implementation of a verification tool for our specification language, which both checks and infers specifications. We evaluate our tool on our corpus of scientific code and give verification case studies of bug fixes that are detected by our approach. We found roughly 80,000 targets for specification across roughly 1.4 million lines of code, showing that the vast majority of array computations read from arrays in a pattern with a simple, regular, static shape

    Supporting Software Sustainability with Lightweight Specifications

    Get PDF
    Lightweight specifications support software maintainability by providing a way to verify that any changes to a code base preserve certain program properties. We give two examples of lightweight specifications for numerical code: units-of-measure types which specify the physical units of numerical quantities in a program; and stencil specifications which describe the pattern of data access used in array computations. Not only can we automatically verify that a program correctly implements these requirements but specifications provide documentation for future developers. Specifications can also be inferred and generated automatically in some cases, further reducing programmer effort. We finish by identifying future potential specification techniques to ease the maintenance and comprehension of scientific code

    BRCA2 variants and cardiovascular disease in a multi-ethnic study.

    Get PDF
    BACKGROUND: Germline mutations of BRCA1/2 are associated with hereditary breast and ovarian cancer. Recent data suggests excess mortality in mutation carriers beyond that conferred by neoplasia, and recent in vivo and in vitro studies suggest a modulatory role for BRCA proteins in endothelial and cardiomyocyte function. We therefore tested the association of BRCA2 variants with clinical cardiovascular disease (CVD). METHODS: Using data from 1,170 individuals included in two multi-ethnic population-based studies (SHARE and SHARE-AP), the association between BRCA2 variants and CVD was evaluated. 15 SNPs in BRCA2 with minor allele frequencies (MAF) > 0.01 had been previously genotyped using the cardiovascular gene-centric 50 k SNP array. 115 individuals (9.8%) reported a CVD event, defined as myocardial infarction (MI), angina, silent MI, stroke, and angioplasty or coronary artery bypass surgery. Analyses were adjusted for age and sex. The SNPs rs11571836 and rs1799943 were subsequently genotyped using the MassARRAY platform in 1,045 cases of incident MI and 1,135 controls from the South Asian subset of an international case-control study of acute MI (INTERHEART), and rs11571836 was imputed in 4,686 cases and 4500 controls from the Pakistan Risk of Myocardial Infarction Study (PROMIS). RESULTS: Two BRCA2 SNPs, rs11571836 and rs1799943, both located in untranslated regions, were associated with lower risk of CVD (OR 0.47 p = 0.01 and OR 0.56 p = 0.03 respectively) in the SHARE studies. Analysis by specific ethnicities demonstrated an association with CVD for both SNPs in Aboriginal People, and for rs11571836 only in South Asians. No association was observed in the European and Chinese subgroups. A non-significant trend towards an association between rs11571836 and lower risk of MI was observed in South Asians from INTERHEART [OR = 0.87 (95% CI: 0.75-1.01) p = 0.068], but was not evident in PROMIS [OR = 0.96 (95% CI: 0.90-1.03) p = 0.230]. Meta-analysis of both case-control studies resulted in a combined OR of 0.94 (95% CI: 0.89-1.004, p = 0.06). CONCLUSIONS: Although there was an association between two SNPs in BRCA2 and CVD in a multi-ethnic population, these results were not replicated in two South Asian case-control studies of incident MI. Future studies exploring the association between BRCA variants and cardiovascular disorders are needed to clarify the role, if any, for BRCA variants in CVD pathogenesis.RIGHTS : This article is licensed under the BioMed Central licence at http://www.biomedcentral.com/about/license which is similar to the 'Creative Commons Attribution Licence'. In brief you may : copy, distribute, and display the work; make derivative works; or make commercial use of the work - under the following conditions: the original author must be given credit; for any reuse or distribution, it must be made clear to others what the license terms of this work are
    • …
    corecore